﻿using System;
using System.Collections.Generic;
using System.Text;

namespace NeuronDotNet.Samples.CharacterRecognition
{
    public class TrainConfiguration
    {
        private int inputLayerSize, outputLayerSize, innerLayerSize = 0;
        private int defaultTotalCyclesCount, startCyclesCount = 0;
        private double acceptableDifference = 0;
  
        private static readonly TrainConfiguration config =
           new TrainConfiguration();

        static TrainConfiguration() { }

        private TrainConfiguration() { }

        public static TrainConfiguration GetInstance()
        {
            return config;
        }

        public void setConfiguration(int input, int inner,
              int output, int total, int start, double diff)
        {
            inputLayerSize = input;
            innerLayerSize = inner;
            outputLayerSize = output;
            defaultTotalCyclesCount = total;
            startCyclesCount = start;
            acceptableDifference = diff;
        }

        public int getInputLayerSize()
        {
            return inputLayerSize;
        }

        public int getOutputLayerSize()
        {
            return outputLayerSize;
        }

        public int getInnerLayerSize()
        {
            return innerLayerSize;
        }

        public int getTotalCyclesCount()
        {
            return defaultTotalCyclesCount;
        }

        public int getStartCyclesCount()
        {
            return startCyclesCount;
        }

        public double getAcceptableDifference()
        {
            return acceptableDifference;
        }
    }
}
